package com.tedu.day02.oop;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 * this关键字---super关键字  使用完全一致
 * 不需要继承--当前类
 * 使用方式：调用当前类的属性，方法，构造器
 * this.属性                【当前类的属性赋值】
 *                          出现构造方法中
 *                            区别当前类的属性与参数”名称“一致
 *              this.方法
 *              this.()      多个有参构造器
 *
 *     面试题：this和super关键字区别？
 *           this调用本类的属性方法构造器
 *           super调用父类的属性方法构造器  储存在继承关系 使用super
 *           this（）与super（） --传递参数 赋值
 *           this调用本类的其他构造器--构造首行
 *           super调用父类的构造器--子类构造器首行
 *           请问this（）和super（）可以出现在对象构造器中--不可以
 */
public class this关键字 {
    int i;  //属性   很少赋值【声名未赋值】  构造器或者方法中赋值
    int j;  //属性   很少赋值【声名未赋值】  构造器或者方法中赋值

    //构造器：有参       需求：创建1个参数对象，给i和j赋值
    public this关键字(int i, int j) {
        this.i = i;
        this.j = j;
    }
    //构造器：有参
                 public this关键字(int i) {
        this(7,9);  //调用本类其他有参构造器==传参   i=7
                  this.i = i;  //常见：this.属性 【当前类下属性】=参数  i=1
                     //赋值  this.i=1;
    }
    //方法--this.方法
    public void testI(){
        System.out.println("我是I");
    }
            public void testJ(){  //调取 输出:我是i 我是就
        this.testI();
        System.out.println("我是J");
    }


           public static void main(String[] args) {
                           System.out.println( new this关键字(1).j);  //属性没有输出语句
        //new this关键字(1).testJ();  //方法有输出语句
       // new this关键字(1,2).testK();

    }
}
